package com.test.schoolhelper.utils;

import static android.content.Context.ALARM_SERVICE;

import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.icu.util.Calendar;
import android.net.Uri;
import android.provider.AlarmClock;
import android.widget.Toast;

import java.util.ArrayList;

public class AlarmUtils {

    public static void createAlarm(Context context, String message, int hour, int minutes, int resId) {
        ArrayList<Integer> testDays = new ArrayList<>();
        testDays.add(Calendar.FRIDAY);//周五get
        String packageName = context.getPackageName();
        Uri ringtoneUri = Uri.parse("android.resource://" + packageName + "/" + resId);

        Intent intent = new Intent(AlarmClock.ACTION_SET_ALARM)
                .putExtra(AlarmClock.EXTRA_HOUR, hour)  //闹钟的小时
                .putExtra(AlarmClock.EXTRA_MINUTES, minutes)  //闹钟的分钟
                .putExtra(AlarmClock.EXTRA_MESSAGE, message)//响铃时提示的信息
                .putExtra(AlarmClock.EXTRA_VIBRATE, true)  //用于指定该闹铃触发时是否振动
                //.putExtra(AlarmClock.EXTRA_RINGTONE, ringtoneUri)   //一个 content: URI，用于指定闹铃使用的铃声，也可指定 VALUE_RINGTONE_SILENT 以不使用铃声。如需使用默认铃声，则无需指定此 extra。
                // .putExtra(AlarmClock.EXTRA_DAYS, testDays)//对于一次性闹铃，无需指定此 extra
                .putExtra(AlarmClock.EXTRA_SKIP_UI, true); //若是为true，则调用startActivity()不会进入手机的闹钟设置界面
        if (intent.resolveActivity(context.getPackageManager()) != null) {  //判断手机上是否有用于接收该intent的应用
            context.startActivity(intent);
            Toast.makeText(context, "闹钟设置成功！", Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(context, "闹钟设置失败!", Toast.LENGTH_SHORT).show();
        }
    }

}